Real-time, demand-based dynamic pricing system and method

ABSTRACT

Systems and methods for providing real-time dynamic pricing information for a product based on receipt of a price queries from consumers at point-of-sale. The system receives price queries for a product provided by a consumer at point-of-sale by way of use of a mobile communicating device such as cellphone. The system maintains a database of received price queries. A preset price query threshold value associated with the product is retrieved in response to a received query. A price query count is extracted for the product, the price query count being the number of price queries generated in a predefined sample period. A product price is calculated in real time based on a comparison between the price query count and the threshold values. The consumer may be provided with discounts or coupons based on marketing campaign parameters derived from the price query.

TECHNICAL FIELD

The present application relates generally to pricing products andservices, and more particularly to methods and systems for dynamicallypricing products and services.

BACKGROUND

Dynamic pricing, a type of pricing system that alters a commodity pricein accordance with demand patterns, has been around for some time. Oneof the most successful implementation of dynamic pricing is seen in theairline industry, which employs the technique so artfully that mostpassengers on any given flight pay different ticket prices. Ticketprices typically vary based on seasons, predicted demand, historicaldemand, flight sector, flight time, days left for flight, and similarfeatures.

In the retail or e-commerce industry, however, suppliers and retailershave traditionally determined the optimal price for a product based onretrospective demand and inventories of products on hand. Fornon-commodity goods and services, price depends, in part, on the ebb andflow of supply and demand within a competitive environment. In thesesectors, the ability to adjust the product pricing instantaneously wouldenable greater economic efficiency and ostensibly higher margins.

Recently, various methods have emerged that attempt to dynamically priceproducts. Most of these methods use extensive empirical data such ashistorical purchase patterns, financial data, stock rates, and inventorydata to determine the optimal price for a product. Moreover, somemethods incorporate analytics that attempt to predict future demandbased on this empirical data. Although these methods provide dynamicpricing information, they require considerable retrospective analysis ofdata collected over a long period. Due to this data processingrequirement, the predicted future demand data can be stale and thereforeless robust in addressing short-term demand fluctuations.

Therefore, there is a long-felt but unresolved need for a system ormethod that provides dynamic pricing information about products in realtime. There remains a further need for a system or method that is simpleto implement, does not require extensive data analysis, and can beeasily configured by the manufacturer or suppliers to provide productpricing information in real time in any given scenario—online or retail.

BRIEF SUMMARY

Briefly described, and according to one embodiment, the presentdisclosure describes a computer-implemented method for providingreal-time dynamic pricing information. Initially, a price query for aproduct is received and a database of the received price queries ismaintained. The method proceeds to retrieve preset price query thresholdvalues for one or more product parameters. Next, a price query count isextracted, which is the number of price queries generated in apredefined sample period. Finally, the method calculates a product pricebased on a comparison between the count of price queries and thethreshold value.

Another embodiment of the present disclosure presents a system forproviding real-time dynamic pricing information. The system includes aninput module for receiving price query for a product and a transactiondatabase for storing the received price query. A dynamic pricing moduleretrieves preset price query threshold values associated with theproduct, a price query count, which is the number of price queriesgenerated in a predefined sample period. In addition, the dynamicpricing module calculates a product price based on a comparison betweenthe count of the price queries and the threshold values. The systemfurther includes a content generation module for generating a coupondisplaying the product price information.

Certain embodiments of the disclosure may provide various technicaladvantages. For example, certain embodiments may allow manufacturers orsuppliers to maximize profits and sales margins by instantaneouslyvarying prices based primarily on current product demand. Further, otherembodiments of the system may allow consumers to purchase products atthe most optimal price based on current product demand.

These and other aspects, features, and benefits of the claimedinvention(s) will become apparent from the following detailed writtendescription of the preferred embodiments and aspects taken inconjunction with the following drawings, although variations andmodifications thereto may be effected without departing from the spiritand scope of the novel concepts of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate one or more embodiments and/oraspects of the disclosure and, together with the written description,serve to explain the principles of the disclosure. Wherever possible,the same reference numbers are used throughout the drawings to refer tothe same or like elements of an embodiment. The drawings areillustrative in nature and are not necessarily drawn to scale.

FIG. 1 is a block diagram illustrating an exemplary environment whereembodiments of the present invention are implemented.

FIG. 2 is a block diagram illustrating an exemplary dynamic pricingengine.

FIG. 3 illustrates an exemplary transaction database schema.

FIG. 4 is a flowchart illustrating an exemplary method for providingreal-time dynamic pricing information for a product.

FIG. 5 is a flowchart illustrating an exemplary method for calculatingreal-time dynamic pricing information for a product.

FIG. 6 is a flowchart illustrating an exemplary method for settingthreshold values for parameters associated with a product

FIG. 7 is a block diagram illustrating an exemplary implementation ofthe dynamic pricing system.

DETAILED DESCRIPTION

For promoting an understanding of the principles of the presentdisclosure, reference will now be made to the embodiments illustrated inthe drawings and specific language will be used to describe the same. Itwill, nevertheless, be understood that no limitation of the scope of thedisclosure is thereby intended; any alterations and furthermodifications of the described or illustrated embodiments, and anyfurther applications of the principles of the disclosure as illustratedtherein are contemplated as would normally occur to one skilled in theart to which the disclosure relates. All limitations of scope should bedetermined in accordance with and as expressed in the claims.

System Overview

Embodiments of the present disclosure relate to aspects of an electronicsystem (e.g., Internet or mobile network accessible) that facilitatesreal-time dynamic pricing of products or services. Consumers, shoppingonline or in a retail store, can send a price query to the system usinga mobile or stationary computing device such as a cell phone, a PDA, apocketbook, a laptop, a desktop, or any other similar device (even asthey contemplate the purchase of a product) to ascertain theinstantaneous product price. Based on a count of the price queriesreceived for a product or group of products in a given timeframe, thesystem applies predefined algorithms or rules to generate a dynamicprice. This price is primarily dependent on the current demand asinferred from the price query count over the given timeframe. Forexample, if, on a given day, 20 consumers send price queries about aCoca-Cola® product, the price offered to the 20 consumers may be as lowas 50¢. Alternatively, if 2000 people send price queries for the sameCoca-Cola product in a single day, the first 20 consumers may be offereda price of 50¢, while the next thousand consumers may be offered a priceof $1.00, and the remaining consumers may be offered a price of $1.50.If the consumers send a query for the same product on the next day, thesystem may return a different price offer depending on the price querycount that day. Here, ‘price query count’ or ‘price query rate’ refersto the number of price queries generated by consumers for a specificproduct or group of products in a specific period. The period may be aminute, an hour, a day, a week, or a month.

The electronic system may further incorporate consumer or productlocation information into the predefined algorithms to generate productprices targeted to specific locations or regions. In thisimplementation, along with price query information the system may employother factors as well, such as local weather information, regionalpopulation, economic data (i.e., consumer price index, monthly sales forretail and food services, inventories, sales, monthly wholesale trade,and new residential construction) and other such region-specificinformation to generate the dynamic product pricing.

A particular electronic system may allow retailers or suppliers to offerspecial pricing to individuals based upon their buying habits,allegiance, referrals, etc. For example, a frequent shopper may receivea loyalty discount in addition to the dynamic price returned by thepricing engine.

This system does not use extensive data warehousing and analytics orconsumer profile information to determine the relative demand for aproduct. Instead, the system utilizes predefined algorithms or rulesthat are set by content developers, or marketing executives oforganizations and product companies that primarily factor in pricequeries generated by consumers; the more the demand for a product, thelower the discounted value of the product. The developers can setvarious price query thresholds, location-based thresholds, or externaldata thresholds with associated price or discount levels. The pricequery count may be compared with these thresholds to determine thedynamic product price in real-time.

Exemplary Environment

FIG. 1 illustrates an exemplary environment 100 where embodiments of thepresent invention can be implemented. As shown, the environment 100includes one or more computing devices 102 (such as cell phones, PDAs,desktops, laptops, and notebooks, scanners, touch screen pads, etc.)connected to a pricing engine 104 through one or more networks such asthe Internet 106 or a mobile carrier network 108.

Developers 110, present on the computing devices 102 can developcampaign content for one or more products. Moreover, multiple developers110 may develop campaigns simultaneously for the same product or fordifferent products. A campaign may typically include one or more of:product name and ID, price query thresholds, external data basedthresholds, location-based thresholds, price or discount levelsassociated with the thresholds, applicable additional discounts, andother such campaign specific information. This campaign information isstored in the pricing engine 104. The pricing engine 104, upon receivingprice queries, logs the price query in a transaction database,identifies the relevant campaign and related products, and retrieves thethreshold values and associated price levels related to the queriedproduct. Based on a comparison of the threshold values and the pricequery count, the pricing engine 104 calculates a dynamic price ordiscount for the product and provides this information to the consumer112 as a coupon.

The environment 100 may be an online shopping store, where the consumer(such as online shopper 112-A) connects to a web portal through astationary or mobile computing device 102 and queries the pricing engine104 for the product price. The pricing engine 104 calculates the priceand provides this information back to the shopper 112-A as a pop-upscreen, a short message service (SMS), an email, or any such means. Forpurposes of the present disclosure, the term “consumer” is generallysynonymous with “customer,” “user,” or “shopper.”

Alternatively, the environment 100 may be a retail store, where theconsumer 112 (such as retail shopper 112-B) sends price queries whilecontemplating purchase of a product. In this case, the retail shopper112-B may utilize a mobile computing device 102 such as a cell phone,PDA, or pocketbook, to communicate with the pricing engine 104(utilizing the mobile carrier network 108), or a stationary computingdevice such as a PC, electronic device, or a notebook installed near theproduct. In this case, the computing device 102 communicates with thepricing engine 104 using the Internet 106 or the mobile carrier network108.

It will be understood that the consumer may send the price query usingvarious methods, depending on the computing device 102 used. Forexample, the consumer may send an SMS, or use a special purposeapplication or interface installed on the computing device 102. Othermethods may also be contemplated by people skilled in the art, which arenot beyond the scope of the present invention. Moreover, the consumermay send price query information by entering a product code or a productname, scanning a product bar code, selecting an icon or button on agraphical interface, or any other such means. In return, the pricingengine 104 delivers a price or discount coupon to the computing device102 as scannable electronic coupon, or a printable coupon.

Some countries levy higher taxes on products or services in cities ascompared to the suburbs, which results in varied product prices. Inaddition, demand for a product may vary in different locations (forexample, consumers 112 demand more beachwear in California as comparedto Washington). Moreover, product prices vary considerably betweenretail outlets and factory outlets. Therefore, allowing developers 110to set different prices or discounts for a product depending on thelocation or type of retail store can optimize product pricesconsiderably, making the system more profitable to both suppliers andconsumers 112. Location based pricing may also be useful for onlineshopping stores that service multiple countries, allowing them to offerdifferent pricing for consumers in different countries.

To determine the consumer or product location the pricing engine 104 mayutilize the consumer's IP address, mobile carrier network information(triangulation), GPS information, unique computing device codes, ormachine IDs. When a consumer sends a query, this location informationmay be extracted from the query to determine the user's location. Itwill be understood that other methods to determine a consumer or productlocation may be employed, such as assigning unique codes to products indifferent locations, or providing unique codes to retailers. When aconsumer enters the unique product code or the unique retailer code, thepricing engine 104 can determine the product location. Depending on thecomputing device 102 and the information extracted from the price query,the pricing engine 104 can determine an approximate location such ascountry, closest city, town, suburb, or postal code, or the pricingengine 104 may be able to determine the exact consumer or productlocation.

As described previously, the pricing engine 104 may also utilizeconsumer information to provide additional discounts to loyal consumersor frequent shoppers such as consumers 112 who generate numerousqueries, or who complete a number of transactions. To this end, thepricing engine 104 may require consumers to register with the pricingengine 104. Thereafter, the pricing engine 104 maintains a count of theprice queries generated by a consumer or the count of completedtransactions. The pricing engine 104 may receive information regardingcompleted transaction from the POS (not shown) whenever a coupon hasbeen utilized.

Moreover, the pricing engine 104 may utilize various techniques toidentify a consumer when the consumer generates a price query. Forexample, the pricing engine 104 may store consumer credentials such asuser name, phone number, address, ID, login information, or IP address.Subsequently, consumers 112 may be identified by comparing theconsumer's cell phone number login or registration details, unique usercode, IP address, or any other consumer information with the stored usercredentials.

The loyalty discount may be authorized by the supplier or the retailer.For instance, a supermarket may add an additional discount to thedynamic price offered by the supplier based on a customer's loyalty tothe supermarket. To this end, suppliers may allow retailers to alter theadditional discount section of a product campaign. Here, retailers maydefine thresholds for customer eligibility. For example, if a customerpurchases products worth $500 in a month, the customer may be eligiblefor the additional discount. Alternatively, suppliers may offer theadditional discount to loyal consumers based on the count of pricequeries generated.

In some instances, when the pricing engine 104 utilizes informationregarding completion of transactions, the engine gathers thisinformation from the retail stores or the online web portals in realtime or at predetermined times. For instance, the pricing engine 104 maybe connected to coupon scanners in retail stores. Whenever a checkoutexecutive enters the coupon code in a scanner or on a network connectedcomputing device, the device may transmit the coupon information to thepricing engine 104, which stores the count of completed transactions.Alternatively, retail stores may provide information about all utilizedcoupons to the pricing engine 104 at regular intervals.

Additionally, as will be understood, the environment 100 includes otherengines, modules, and functionality not described herein, as will occurto one of ordinary skill in the art. Further, the environment 100 is notintended to be limited by the specific networks, modules, devices, andother components shown and described herein. As will be understood andappreciated, the architecture of the environment 100 may vary as willoccur to one of ordinary skill in the art.

Exemplary System

FIG. 2 illustrates an exemplary dynamic pricing engine, such as thepricing engine 104 providing instantaneous pricing information toconsumers 112 based on price query rates. As shown, the pricing engine104 includes an input module 202 for accepting price queries, athreshold module 204 configuring threshold values for one or moreproduct parameters and transaction database 206 storing received pricequeries. The pricing engine 104 further includes a dynamic pricingmodule 208 that calculates the price or discount offered for a productbased on a comparison of the threshold values with the price querycount. Apart from these modules, the pricing engine 104 may includenumerous other modules and databases, which will be described in detailin the following sections.

Input Module

The input module 202 accepts price queries from consumers 112 andforwards the queries to various modules or databases that furtherutilize this information. The price query may include product code orID, a campaign code, a product name, a bar code, or any other similarinformation that may be useful to identify the product. This informationis provided to the transaction database 206. Along with the price query,the input module 202 may receive additional information, such asconsumer location information, name, phone number, IP address, logindetails, or any other such information that may be useful to qualify theconsumer 112 or the consumer's present location. A particular inputmodule 202 may forward this additional information to other modules ordatabases such as a location identification module 210 or thetransaction database 206.

Threshold Module

The threshold module 204 allows campaign developers 110 to buildsale/price campaigns using a developer interface 212 and external datasources 214. The developer interface 212 may be a browser-based accessto the pricing engine 104 that provides developers 110 with a simplegraphical interface to input threshold values corresponding to variousproduct parameters. Multiple developers 110 may access the thresholdmodule 204 concurrently. Developers 110 can define promotional campaignswith one or more absolute or variance thresholds and progressive pricediscounts for each threshold using the threshold module 204.

Employing the developer interface 212, which provides all thefunctionality needed to create and publish the content for the campaign,the developer 110 can select a predefined template to jumpstart thecontent development or can create the content from scratch. Thedeveloper 110 can use features within the threshold module 204 tosequence the content, define transitions, and test the application onvarious computing device 102 emulators available.

A developer may also incorporate external data into the campaign contentfrom any of the available external data sources 214. Examples ofexternal data sources include localized weather information, trafficdata, RSS feeds, social networking content, etc. A swimwear retailer'scontent developer 110 may vary the price parameters based on theweather—more expensive in the summer and cheaper in the winter, forexample.

The threshold module 204 may further prompt the developer 110 to setlocation-based thresholds with associated price levels. For instance,the threshold module 204 may prompt the developer 110 to distinguishbetween suburbs and major cities, retail and factory outlets, ordifferent locations based on population, weather, local taxes, etc.

Transaction Database

The transaction database 206 includes information about the pricequeries, products, and campaigns for all active campaigns. Thetransaction database 206 may be refreshed in real-time by the inputmodule 202, threshold module 204, or the location identification module210 and stale data may be purged every few minutes, hours, days, orweeks. As described, the transaction database 206 provides informationto the dynamic pricing module 208. Further, the transaction database 206may provide information to other modules such as the locationidentification module 210, a profiler 216, and a discount engine 218.

FIG. 3 illustrates an exemplary database schema 300, which may storedata in a relational fashion. A typical relational database includes aplurality of tables, each table containing a column or columns thatother tables can link to in order to gather information from that table.By storing this information in another table, the transaction database206 can create a single small table with the locations that can then beused for a variety of purposes by other tables in the database. FIG. 3illustrates some exemplary tables that may be present in the transactiondatabase 206. It will be understood, however, that the number of tables,specific tables shown, data in the tables, and the relation between thetables may vary depending on the particular embodiment, withoutdeparting from the scope of the present disclosure.

The schema 300 includes a product table 302, which catalogues all theproducts currently campaigned by one or more retailers or suppliers.This table typically, includes unique product IDs, product names, orproduct descriptions. This table may be associated with a campaign table304, which stores all active campaigns along with their campaign ID,developer ID, campaign name (if available), and the product IDs of theproducts associated with the campaign.

The transaction database 206 further includes a threshold table 306,which stores all the threshold values input into the threshold module204. Some exemplary data fields include campaign ID, threshold values,price associated with each threshold value, absolute or variancethresholds, and the sample period. This table 306 may be associated withanother table (external data table 308) that stores threshold valuesrelated to external and location-based data. This table may includefields such as external data ID, threshold ID, external data source ID,associated price or discount level, location threshold, etc.

In addition to these tables, the transaction database 206 may includeother tables and data fields that the pricing engine 104 may utilize incertain embodiments. For example, the transaction database 206 mayinclude a consumer table 310 where details of the consumer 112 arestored, a discount table 312 that includes details about additionaldiscounts available for the product, and a consumer session table 314,which stores the complete transaction details between the consumer 112and the pricing engine 104. Some exemplary data fields in these tablesmay be consumer name, consumer ID, discount type, discount value, timelimit on the discount, or discount ID. Other data fields (not shown) mayinclude consumer address, number of price queries generated by theconsumer, number of price coupons utilized, most frequently queriedproducts, and most frequently bought products. As will be understood andappreciated, virtually any type of data or information related toproducts, campaigns, price calculation, consumer information, andsession information may be stored in the transaction database 206.

The transaction database 206 may be updated in real time or on anintermittent basis. As will be further understood, the specific databaseshown and described is intended to be illustrative only and actualembodiments of the present pricing engine 104 include various databasestructures, schemas, etc.

Dynamic Pricing Module

Returning to FIG. 2, the dynamic pricing module 208 receives data fromthe input module 202 and the transaction database 206, calculates thedynamic price for the queried product, and returns the price informationto a content generation module 220. To this end, the dynamic pricingmodule 208 retrieves the threshold values from the transaction database206 along with any external data related to the queried product'scampaign from the external data sources 214. The retrieved price querycount is compared with the threshold values and depending on thecomparison output, the associated price or discount level is provided tothe content generation module 220, which generates a coupon for deliveryto the consumer 112.

When more than one threshold type is configured for a product (pricequery threshold, external data threshold, location-based threshold), thedynamic pricing module 208 may assign weights to each threshold type andtheir associated price or discount. Depending on the weights assigned, afinal price or discount value may be provided to the content generationmodule 220

Other Module(s)

The location identification module 210 determines the current locationof the consumer 112 or the product based on the data received from theinput module 202. This location information is provided to the dynamicpricing module 208, which may apply location restrictions on thethreshold values to generate a product price that is tailored to theconsumer's location. The functionality of this module will not bedescribed extensively, as methods to determine consumer or productlocation are described sufficiently in the art.

The profiler 216 classifies consumers 112 into one or more profiles andprovides this information to the dynamic pricing module 208. The dynamicpricing module 208 may consider the consumer's profile information whilecalculating the dynamic product price. Alternatively, the profiler 216may provide the consumer's profile information to the discount engine218, which provides a profile-specific discount, independent of thedynamic price calculated. This discount may be offered by the retailstore, or by the supplier/manufacturer. The profiler 216 may utilizemultiple methods for the classification. Some of the methods includeclassifying consumers based on the number of price queries generated,classifying consumers based on the number of transactions completed,importing any loyalty program information maintained by the retailer,etc. It will be understood that this list is not exhaustive and otherknown methods for classifying consumers into categories may be utilizedwithout departing from the scope of the present invention.

The content generation module 220 generates price coupons and selectsthe most appropriate coupon format depending on the consumer's computingdevice 102. To this end, the content generation module 220 may extractcomputing device information from the input module 202 to identify thetype of consumer device. Based on the identification, a coupon isgenerated. For example, if the consumer device is a cell phone, thecontent generation module 220 may generate an e-coupon with a scannablebar code. If the consumer device is a desktop or laptop, the module maygenerate a printable coupon or display the product price in a pop-upscreen, SMS, email, or any other such medium. In addition to the directcommunication method to the consumer's computing device 102, alternativecommunication methods may include publishing the price coupon via socialnetworks, RSS feeds, blog sites, in-store electronic kiosks, or anyother method of mass electronic communication.

Exemplary Method(s)

The following sections describe exemplary methods for carrying out oneor more embodiments of the present disclosure. The methodology describedherein is generally intended to describe various features andfunctionality of various system components described previously. Theorder in which the methods are described is not intended to be construedas a limitation and any number of the described method blocks can becombined in any order to implement the method, or an alternate method.Additionally, individual blocks may be deleted from the methods withoutdeparting from the spirit and scope of the subject matter describedherein. Furthermore, the method can be implemented in any suitablehardware, software, firmware, or combination thereof.

FIG. 4 illustrates an exemplary method 400 for providing real-timedynamic pricing information. At step 402, the input module 202 receivesa product price query from one or more consumers 112. To this end, theinput module 202 may be coupled to the computing devices 102 via theInternet 106, or a mobile carrier network 108. Moreover, consumers 112may employ PDAs, cell phones, notebooks, laptops, desktops, and othersimilar devices to communicate with the pricing engine 104. The pricequery may include information about the product, consumer locationinformation, consumer specific information, or any other informationuseful to qualify the product, the consumer location, or the consumer112.

Next, the method 400 maintains a database of the received price queries(at step 404). The transaction database duly logs each price queryreceived by the input module 202 along with a query timestamp indicatingthe exact query generation time. The transaction database 206 may alsostore any additional information obtained with the price query. Forinstance, the transaction database 206 may store the product ID, productname, consumer name, consumer location, etc.

At step 406, the method 400 proceeds to retrieve preset price querythreshold values associated with the product. The threshold values maybe absolute or variance values. In some embodiments, the dynamic pricingmodule 208 may retrieve any other thresholds configured for the productsuch as location-based thresholds. In addition to these parameters,external data may also be included, for example, weather information,financial status, etc.

Next, at step 408, the price query count is extracted from a specificsample period. The developers 110 can vary the sample period using anyrange from minutes, hours, days, weeks, or months. For example, in onecampaign, the developer 110 may set the sample period to half and hour,so price queries (for the product) generated in the last half hour willbe filtered from the transaction database 206. Alternatively, thetransaction database 206 may store the price query rate for each productas the number of price queries received per hour. In this case, themethod 400 merely extracts the price query rate from the transactiondatabase 206.

The method 400 proceeds to calculate the product price based on acomparison between the price query rate and the threshold values (step410). As mentioned earlier, the threshold values may be variance orabsolute values and the developer 110 may set one or more thresholdvalues. If the values are absolute, the dynamic pricing module 208compares the price query count with the one or more threshold values. Ifa single threshold value is defined, the dynamic pricing module 208determines whether the number of price queries are lesser than orgreater than the threshold value. If there are multiple thresholdvalues, the dynamic pricing module 208 determines which threshold valueis exceeded. The highest threshold exceeded will be used. If the valuesare variance, the dynamic pricing module 208 compares the price querycount with a target value. Depending on the variance of the price querycount with the target value, different price levels may be applied. Oncethe dynamic pricing module 208 determines which threshold is exceeded,the pricing level associated with the threshold is retrieved from thetransaction database 206.

In addition to the price query thresholds, the developer 110 may setthreshold values based on external data such as weather, consumer priceindex, monthly sales, inventory, and residential construction and basedon consumer or product location. For instance, the developer of awinter-wear clothing line may specify a certain price if the temperaturein a certain locality exceeds 20° C. and a different price if thetemperature drops below 10° C. In this situation, once the dynamicpricing module 208 extracts the product or consumer location, thereal-time weather information for that location may be retrieved fromthe external data sources 214 and based on the temperature, the dynamicpricing module 208 may retrieve the associated pricing level.

When threshold values are set based on more than one product parameter,weights are assigned to the parameters. In one embodiment, the weightsmay be configurable and the developer 110 may assign or alter theweights at any time during the campaign. Alternatively, the thresholdmodule 204 may pre-assign the weights. The dynamic pricing module 208applies the weights to the thresholds and combines the weighted pricesto determine the final product price.

At step 412, the content generation module 220 generates acoupon/certificate based on the calculated product price. In someembodiments, the coupon or certificate may be time-bound or may expireafter a specific period, such as an hour, or a day. The coupon may bedelivered to the consumer 112 through a communication media, such as theInternet 106, through an SMS, through a mobile-based application, anemail, or through a web-based application, without departing from thescope of the present invention. On receiving the coupon, the consumer112 may decide to purchase the product. In case the coupon is displayedon a mobile computing device 102, the consumer 112 may present thedigital coupon at the checkout desk where it can be scanned.Alternatively, if the coupon is displayed on a stationary computingdevice 102, the consumer 112 may print the coupon. Other media may beused to present the coupon at the checkout counter; for example, theconsumer 112 may receive or download the coupon onto an RFID device,which may be scanned by an RFID scanner at the checkout desk. In case ofonline stores, the coupon may be an e-coupon that would be incorporatedin the product price automatically once a product is purchased. It willbe understood that various delivery and coupon presentation methodsexist and all these methods and techniques are within the scope of thepresent invention.

FIG. 5 illustrates an exemplary method for calculating the dynamicpricing information for a product. At step 502, the method 500 retrievesthreshold values for a particular product.

Next (step 504), the method 500 determines whether the threshold valuesare defined. If yes, the pricing module 208 determines whether absolutethreshold values are configured at step 506. If yes, the sample periodand the price queries are retrieved from the transaction database 206 atstep 508. The dynamic pricing module 208 filters the price queryinformation according to the sample period to obtain a price querycount, which is compared with the absolute threshold values at step 510.One or more threshold values may be configured by the developer 110.Upon comparison of the price query count with the threshold value, thedynamic pricing module 208 can determine the product price associatedwith the relevant threshold value.

If variance threshold is utilized (‘no’ path from step 506), the methodproceeds to step 512 where the target value, the threshold values, andthe price query count are retrieved from the transaction database 206.The dynamic pricing module 208 calculates the variance value as thedifference between the target value and the price query count for aspecific period. The variance value is then compared with one or morethreshold values at step 514 and the appropriate product price isretrieved based on this comparison.

Proceeding to step 516, the method 500 determines if any externalparameter threshold values are configured. If yes, the dynamic pricingmodule 208 retrieves the external data parameters from the external datasources 214 (at step 518) and at step 520 compares these parametervalues with the threshold values (set by the developer 110). If thecurrent parameter value exceeds the threshold, one price is application;else, another price is applicable.

Next, and in case external parameters were not configured (no path fromstep 516), the dynamic pricing module 208 determines if location-basedthresholds exist at step 522. If yes, the module, at step 524, extractsthe consumer or product location information from the locationidentification module 210. This information is compared with thethresholds, and the appropriate price or discount levels are retrievedat step 526. The dynamic pricing module 208 applies the thresholdweights on the price information obtained at the output of steps 510,514, 520, and 526 to determine a final product price at steps 528 and530.

FIG. 6 illustrates an exemplary method 600 for developing campaigncontent. As described previously, campaign content includes definitionof threshold values, external data, location-based prices or discounts,etc. The developer interface 212 may be a web application wheredevelopers 110 can login to create the campaign thresholds.Alternatively, the developer interface 212 may be an installablecomputer application that retrieves and transmits data from and to thethreshold module 204. A campaign may be altered, deleted, added, ormodified at any time deemed fit by the developer 110. For instance, anorganization may withdraw any sale or discount scheme immediately incase of inventory destruction (warehouse fire, accident), financialcrisis, etc. Moreover, an organization can add a new campaign on the flyrelatively easily as compared to setting up traditional sale campaigns.

At step 602, the developer 110 is requested to select a thresholdtype—absolute or variance. If the developer 110 selects absolute, thethreshold module 204, at step 604, requests the developer 110 to enter adiscrete threshold value that defines the threshold as compared to theprice query count over a defined sample period, such as 50 price queriesper hour, 100 price queries per day, or 1000 price queries per week. If,on the other hand, variance is selected, at step 606, the developer 110is requested to enter a target value along with one or more variancethreshold values that can be a discrete offset from the threshold valueor a percentage offset from the target value. For example, the developer110 may set the variance target as 100 price queries. For both thesethreshold types, the developer 110 may set more than one uniquethreshold values or target, which can be progressive and have differentpricing levels/discounts associated with them. This allows the developer110 to utilize a “ladder” approach that ensures the most appropriatediscount based on the assessed price queries.

Next, at step 608 the threshold module 204 requests the developer 110 todefine the associated price or discount level for each threshold.Proceeding to step 610, the developer 110 is requested to define asample period. This value is used to filter the price query informationretrieved from the transaction database 206. The sample period may beany value in minutes, hours, days, week, or months. This configurablesample period allows the developer 110 to implement pricing or discountalgorithms of various degrees of data freshness.

Next, the method 600 determines whether the developer 110 wishes to addany external parameter thresholds at step 612. If yes, the method 600proceeds to step 614, else the method 600 proceeds to 616 where thethreshold module 204 determines whether the developer 110 wishes to addany location based thresholds. At step 614, the threshold module 204requests the developer 110 to select external parameter data sourcesfrom a dropdown list or a list of options available on the developerinterface 212. In the next step, the developer 110 configures thethresholds for the selected external parameters and proceeds to step616. Here, if the developer 110 wishes to add location based thresholds,the method 600 proceeds to step 620 where the user enters location-basedthresholds from a list of configurable thresholds. Alternatively, thedeveloper 110 may develop location thresholds from scratch. Once thethresholds are validated and saved (at step 622), the threshold values,sample period, and external threshold data may be provided to thepricing engine 104 over a network connection. This data may be stored inthe transaction database 206.

For purposes of clarity, the application of the pricing engine 104 willbe described in an example set out here. FIG. 7 is a block diagramillustrating this implementation. Here, a clothing manufacturer wishesto introduce a national campaign not only to increase the total salesvolume of their denim-line sold over one month, but also to achieveoptimal pricing at the same time. Their campaign developer 110 logs intothe developer interface 212 to create the campaign content specific forthe denim promotion from a laptop 702. The campaign developer 110configures the target price query count for each day along with thedaily variance levels. The developer 110 also establishes the associateddiscount value for each standard deviation from optimal. In addition tothe price query thresholds, the manager sets a number of external andlocation based threshold—she sets a rule that increases the offereddiscount by 5% if the local temperature increases by 5 degrees and setslower discounts in colder regions (e.g., Wisconsin) as compared to warmregions (e.g., Arizona). Finally, the developer assigns weights to thedifferent thresholds such as 70% weightage to price query thresholds,20% to location based, and 10% to external parameter thresholds. Thiscampaign content is stored in the transaction database 206.

A consumer 112 goes into Target in Atlanta for her monthly shopping.Upon entering the denim section, a sign near the campaigned denim spaceencourages her to type 55555 into an application on her cell phone 704to determine the discount available on the denims. The consumer's cellphone transfers the price query 706 to the pricing engine 104.

The pricing engine 104 stores this query 706 in the transaction database206, retrieves all the price queries received for denims in the last 1day, and extracts the price query, external, and location-basedthresholds. The pricing engine 104 compares the price query count forthe last 1 day with the price query target to determine the variance ofthe price query count from the optimal value. The pricing engine 104also determines the customer's location from the GPS information of hercell phone and applies the location-based thresholds on this location.Next, the pricing engine 104 obtains the current temperature in Atlantaand compares this temperature to the external parameter threshold.Assigned weights are applied to the price discounts corresponding to thecompared thresholds and a final discount is calculated. The pricingengine 104 returns a 10% off e-Coupon 708 for the denims because theprice query count for the denims was one standard deviation below theoptimal query threshold. The customer 112 picks up a pair of denims, andredeems her e-Coupon 708 at the checkout station by scanning here-Coupon barcode, which is displayed on her cell phone 704 display.

Systems and methods disclosed herein may be implemented in digitalelectronic circuitry, in computer hardware, firmware, software, or incombinations of them. Apparatus of the claimed invention can beimplemented in a computer program product tangibly embodied in amachine-readable storage device for execution by a programmableprocessor. Method steps according to the claimed invention can beperformed by a programmable processor executing a program ofinstructions to perform functions of the claimed invention by operatingbased on input data, and by generating output data. The claimedinvention may be implemented in one or several computer programs thatare executable in a programmable system, which includes at least oneprogrammable processor coupled to receive data from, and transmit datato, a storage system, at least one input device, and at least one outputdevice, respectively. Computer programs may be implemented in ahigh-level or object-oriented programming language, and/or in assemblyor machine code. The language or code can be a compiled or interpretedlanguage or code. Processors may include general and special purposemicroprocessors. A processor receives instructions and data frommemories. Storage devices suitable for tangibly embodying computerprogram instructions and data include all forms of non-volatile memory,including by way of example, semiconductor memory devices, such asEPROM, EEPROM, and flash memory devices; magnetic disks such as internalhard disks and removable disks; magneto-optical disks; and Compact Disk.Any of the foregoing can be supplemented by or incorporated in ASICs(application-specific integrated circuits).

The specification has described a system and method suitable forproviding real-time dynamic pricing information for products. Theforegoing description of the exemplary embodiments has been presentedonly for the purposes of illustration and description and is notintended to be exhaustive or to limit the disclosure to the preciseforms disclosed. Many modifications and variations are possible in lightof the above teaching.

The embodiments were chosen and described in order to explain theprinciples of the systems and their practical application to enableothers skilled in the art to utilize the systems and various embodimentsand with various modifications as are suited to the particular usecontemplated. Alternative embodiments will become apparent to thoseskilled in the art to which the present disclosure pertains withoutdeparting from their spirit and scope. Accordingly, the scope of thepresent inventions is defined by the appended claims rather than theforegoing description and the exemplary embodiments described therein.

1) A computer-implemented method for providing real-time dynamic pricinginformation for a product, the method comprising: receiving a pricequery for a product; maintaining a database of received price queries;retrieving preset price query threshold values associated with theproduct; extracting price query count for the product, the price querycount being the number of price queries generated in a predefined sampleperiod; and calculating a product price based on a comparison betweenthe price query count and the threshold values. 2) Thecomputer-implemented method of claim 1 further comprising generating atime-bound coupon based on the product price. 3) Thecomputer-implemented method of claim 2 wherein the coupon is at leastone of an electronic coupon, or a printed coupon. 4) Thecomputer-implemented method of claim 1 further comprising: configuringthe price query threshold values, the price query thresholds being atleast one of absolute type or variance type thresholds; defining thesample period; configuring an external parameter threshold value;configuring a location-based threshold value; defining a price ordiscount level associated with the threshold values. 5) Thecomputer-implemented method of claim 4, wherein the thresholds have atleast one of absolute or variance based value. 6) Thecomputer-implemented method of claim 4, wherein the thresholds areassociated with a defined group of products and the defined price ordiscount level is based on the comparison between the total price querycount for all products in the group and the defined threshold values forthe group of products. 7) The computer-implemented method of claim 4,wherein variable weights are applied to the thresholds. 8) Thecomputer-implemented method of claim 4 further comprising: retrievingpreconfigured external parameter thresholds and associated price levels,wherein the external parameters include at least one of weather,consumer price index, monthly sales for retail and food services,inventories and sales, monthly wholesale trade, or new residentialconstruction; retrieving external parameter information in real-time;and comparing the external parameter thresholds with the externalparameter information to determine the appropriate price level. 9) Thecomputer-implemented method of claim 4 further comprising determiningthe location of the product or consumer. 10) The computer-implementedmethod of claim 8 further comprising: retrieving predefinedlocation-based thresholds and associated price levels; retrieving thelocation of the product or consumer; comparing the location basedthresholds with the location of the product or consumer to determine theappropriate price level. 11) The computer-implemented method of claim 1,further comprising logging transaction completion information if aconsumer completes a transaction using the coupon. 12) Thecomputer-implemented method of claim 10 further comprising determining aconsumer profile based on at least one of number of price queriesgenerated by the consumer, or number or transactions completed. 13) Thecomputer-implemented method of claim 11 further comprising providing anadditional discount based on consumer profile. 14) A system forproviding real-time, dynamic pricing, the system comprising: an inputmodule for receiving a price query for a product; a transactionaldatabase for storing received price queries; a dynamic pricing modulefor: extracting a price query count from the transactional database, theprice query count being the number of price queries related to theproduct in a predefined sample period; retrieving preset thresholdvalues for one or more parameters associated with the product;calculating a product price based on a comparison between the pricequery count and the threshold values; and a content generation modulefor generating a coupon displaying the product price. 15) The system ofclaim 11 wherein the transaction database logs the current demandinformation including at least one of the product price query, ortransaction record if a consumer completes a transaction using thecoupon. 16) The system of claim 11 further comprising a consumerinterface allowing a consumer to configure the threshold values for theparameters, wherein the parameters include number of product queries,number of completed transactions, local whether, economic conditions,inventory, or location. 17) The system of claim 11 further comprising athird party data source providing third party content including whetherinformation, traffic data, RSS feeds, social networking content, oreconomic data. 18) The system of claim 11 further comprising a deliverymodule for providing the coupon to the consumer. 19) The system of claim15, wherein the delivery module includes at least one of a mobileplatform, or a stationary platform. 20) The system of claim 11 furthercomprising a location identification module for determining theoriginating location of the query. 21) The system of claim 11 furthercomprising a consumer database for storing consumer pertinentinformation. 22) The system of claim 18 further comprising a profilerfor profiling consumers based on the consumer pertinent information. 23)The system of claim 19 further comprising a discount calculator forproviding a discount based on the consumer profile. 24) In a system forproviding product pricing information to a consumer through a mobilecommunication platform, a method for providing real-time, demand-based,dynamic pricing information to the consumer, the method comprising:receiving price query for a product from the consumer; retrieving presetdemand-based threshold values for one or more parameters associated withthe product; maintaining a database of current demand information basedon at least one of received product price queries or completedtransactions; extracting current demand information about the productfrom a specified period; calculating a product price based on acomparison between the current demand information and the thresholdvalues; and generating a time-bound electronic coupon, based on theproduct price, for the consumer; whereby the consumer completes a saletransaction using the time-bound electronic coupon before expiry of theelectronic coupon.